Revert part of "gtknotebook: Optimize GtkStyleContext usage"
authorJasper St. Pierre <jstpierre@mecheye.net>
Tue, 25 Nov 2014 19:21:21 +0000 (11:21 -0800)
committerJasper St. Pierre <jstpierre@mecheye.net>
Tue, 25 Nov 2014 19:21:21 +0000 (11:21 -0800)
This reverts part of commit c71e2131345c929753a0128c780d679ce0c4ce6a.
This part was unfinished and was pushed simply to avoid the warnings.

gtk/gtknotebook.c

index 916ef585cdaf6a1de7926bed6413473ceffa6102..2635d1c9ece28a50e2d163f18f8d7ea0a99de6eb 100644 (file)
@@ -6249,7 +6249,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook  *notebook,
 
       if (page != priv->cur_page)
         {
-          GtkBorder padding = {};
+          GtkBorder active_padding, normal_padding, padding;
 
           /* The active tab is by definition at least the same height as the inactive one.
            * The padding we're building is the offset between the two tab states, 
@@ -6261,11 +6261,16 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook  *notebook,
           gtk_style_context_save (context);
           notebook_tab_prepare_style_context (notebook, page, context, TRUE);
 
-          /* gtk_style_context_get_padding (context, GTK_STATE_FLAG_ACTIVE, &active_padding); */
-          /* gtk_style_context_get_padding (context, GTK_STATE_FLAG_NORMAL, &normal_padding); */
+          gtk_style_context_get_padding (context, GTK_STATE_FLAG_ACTIVE, &active_padding);
+          gtk_style_context_get_padding (context, GTK_STATE_FLAG_NORMAL, &normal_padding);
 
           gtk_style_context_restore (context);
 
+          padding.top = MAX (0, active_padding.top - normal_padding.top);
+          padding.right = MAX (0, active_padding.right - normal_padding.right);
+          padding.bottom = MAX (0, active_padding.bottom - normal_padding.bottom);
+          padding.left = MAX (0, active_padding.left - normal_padding.left);
+
           switch (tab_pos)
             {
             case GTK_POS_TOP: